Add command (API-dispatch) backend to oz-agent-worker#90
Merged
Conversation
zachbai
force-pushed
the
zb/command-backend
branch
from
June 24, 2026 23:19
27c1ca8 to
545822c
Compare
Collaborator
|
Updated with a couple changes:
|
bnavetta
force-pushed
the
zb/command-backend
branch
from
July 22, 2026 13:52
734f270 to
65d397a
Compare
Introduce a transport-agnostic `command` backend that delegates task execution to an operator-configured dispatch command (fire-and-forget). The worker renders a versioned JSON dispatch payload to the command's stdin; on success it suppresses its own terminal completion so the remote oz agent reports terminal state to warp-server itself, and routes cancellations to an optional cancel command. Includes config/CLI wiring, unit + integration tests, README docs, and an HTTP REST reference dispatch script. Co-Authored-By: Oz <oz-agent@warp.dev>
Adds a real-run reference dispatch command for local end-to-end testing: it logs/persists the forwarded DispatchPayload and launches the oz agent for real via base_args (fire-and-forget), so the command backend can be exercised against a local warp-server + session-sharing-server + oz-agent-worker (e.g. via warp-server's script/oz-local --worker-backend command). Includes CI-verified tests and README docs. Co-Authored-By: Oz <oz-agent@warp.dev>
bnavetta
force-pushed
the
zb/command-backend
branch
from
July 22, 2026 14:55
65d397a to
6e0bf79
Compare
bnavetta
marked this pull request as ready for review
July 22, 2026 14:55
Tests for TestExecuteTaskAppliesInstanceShape, TestExecuteTaskDeletesJobOnSuccess, and TestExecuteTaskPreservesJobOnFailure were still using the old error return pattern but ExecuteTask now returns ExecuteResult. Co-Authored-By: Oz <oz-agent@warp.dev>
…mandEnv mergeEnvVars uses last-wins semantics within the override slice. Previously, wellKnown vars were prepended before config.Env entries, so an operator setting OZ_RUN_ID, OZ_EXECUTION_ID, or OZ_WORKER_BACKEND in their Env map would silently override the actual task values. Fix: append config.Env first, well-known vars last, so worker-set identifiers always take precedence. Add a test to lock in this invariant. Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
captainsafia
approved these changes
Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Introduce a transport-agnostic
commandbackend that delegates task execution to an operator-configured dispatch command (fire-and-forget). The worker renders a versioned JSON dispatch payload to the command's stdin; on success it suppresses its own terminal completion so the remote oz agent reports terminal state to warp-server itself, and routes cancellations to an optional cancel command. Includes config/CLI wiring, unit + integration tests, README docs, and an HTTP REST reference dispatch script.Co-Authored-By: Oz oz-agent@warp.dev